Twilioで作る簡単ボイスレコーダー
こんにちは、チャールです。
本ブログはClassmethod ゲーソル・ギョーソル Advent Calendar 2024の10日目のブログとなります!
ゲーソル、ギョーソルが気になる方は以下のブログも併せてご覧下さい!
電話でメッセージを残して、すぐに聞き返せるサービスがあったら便利だと思いませんか?友達への楽しいメッセージ録音や、ちょっとしたメモ代わりに使えるツールとしても活躍しそうですよね。
Twilioを使えば、プログラミングの知識がなくても、そんなボイスレコーダーアプリが簡単に作れてしまうんです!
今回の目標:
このガイドでは、以下の機能を持つ電話番号を作成します。
- 電話に出ると、優しいメッセージで挨拶する。
- かかってきた人のメッセージを録音する。
- 録音したメッセージを再生する。
- 丁寧に電話を切る。
作ってみましょう!
ステップ1: Twilio電話番号の設定
- Twilioアカウントにログインしてください。
- 「Phone Numbers」セクションに移動し、「Manage Numbers」をクリックしてください。
- まだ番号をお持ちでない場合は、「Buy a Number」をクリックし、お好きな番号を選んでください。
- 番号を取得したら、クリックして設定画面を開きます。
ステップ2: Twilio Studioでボイスレコーダーフローを作成
- Twilioコンソールの「Studio」セクションに移動してください。
- 「Create a New Flow」をクリックし、「Voice Recorder」など、分かりやすい名前を付けてください。
- 「Start from scratch」テンプレートを選択してください。
ステップ3: 電話の流れを設計
1. 挨拶メッセージ:
- 左側のサイドバーから「Say/Play」ウィジェットをキャンバスにドラッグし、「Incoming Call」ウィジェットに接続してください。
- ウィジェットの設定で、「こんにちは!ピーという音の後にメッセージを録音してください。」といった挨拶メッセージを入力してください。
2. BGMを追加 (オプション):
- 別の「Say/Play」ウィジェットをキャンバスにドラッグし、挨拶の後に接続してください。
- ウィジェットの設定で「再生」を選択し、BGM用の音声ファイル(例:オンラインでホストされている.mp3ファイル)への公開URLを入力してください。
- 録音中に音楽を繰り返し再生する場合は、「ループ」オプションにチェックを入れます。
3. メッセージの録音:
- 「Record Voicemail」ウィジェットをキャンバスにドラッグし、「Say/Play」ウィジェット(BGMを追加した場合はBGMウィジェット)の後に接続してください。
- 必要に応じて、録音設定(最大録音時間、無音検知など)を設定してください。
- この「Record Voicemail」ウィジェットの名前をメモしておいてください。次のステップで使用します。
4. 録音URLの格納:
- 「Set Variables」ウィジェットをキャンバスにドラッグし、「Record Voicemail」ウィジェットの後に接続してください。
- 「Set Variables」ウィジェットで以下を設定してください。
- Key: recording_urlと入力してください。
- Value: {{widgets.[あなたのRecord Voicemailウィジェットの名前].RecordingUrl}}と入力します。[あなたのRecord Voicemailウィジェットの名前]の部分は、実際のウィジェットの名前に置き換えてください。
5. 録音の再生:
- 別の「Say/Play」ウィジェットをキャンバスにドラッグし、「Set Variables」ウィジェットの後に接続してください。
- ウィジェットの設定で以下を設定してください。
- 「Play a message」アクションを選択してください。
- 「Text to Say or Play」フィールドに {{widgets.set_variables.recording_url}} と入力してください。
ステップ4: 電話番号とフローを接続
- 次に、Phone number > Manage > Active numbers に移動して、ご自身のTwilio電話番号をクリックしてください。
- 「Voice Configuration」に行って、以下の写真のようにStudioフローを設定してください。
まとめ
おめでとうございます!Twilioの力を借りて、ボイスレコーディングアプリが完成しました。ほんの数クリックと設定だけで、電話に出てメッセージを録音し、BGMを追加して再生するシステムを構築できました。このシンプルなプロジェクトは、Twilioプラットフォームの使いやすさと柔軟性を示しています。
ありがとうございます!